home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / pressgen / slokbd.txt < prev    next >
Text File  |  1989-09-16  |  6KB  |  92 lines

  1.      When choosing a file server to run Non-Dedicated NetWare,  it
  2. is   extremely  important  to  choose  a  machine  known  to   run
  3. Non-Dedicated  NetWare.   The following is an summary of why  some
  4. machines will have problems with Non-Dedicated NetWare.
  5.  
  6.      First,  the  acronym  "ND286" stands  for  Non-Dedicated  286
  7. NetWare in any release from v2.0a through v2.15.   ND286 runs  DOS
  8. applications in 'real mode'  and file server processes execute  in
  9. protected  mode.  Doing  both real and  protected  modes  requires
  10. switching the 80x86 back and forth between the two. Switching from
  11. real  to  protected is accomplished by executing a  special  80286
  12. machine instruction.
  13.      However,  the 80286 does not have a way of directly switching
  14. from  protected to real (the 80386 does,  but ND286 is based  upon
  15. the 80286 architecture).   Usually due to this missing link in the
  16. 80286's instruction set, the 80286 is often called a brain-damaged
  17. chip.   Anyhow, the only way to do the switch (from protected mode
  18. to  real mode) is to reset the 80x86.   ND286 relies  on  specific
  19. characteristics  of  the  IBM  AT  hardware  (i.e.  special  reset
  20. hardware)  and  IBM ROM BIOS to perform the  reset  and  correctly
  21. control the switch back to real mode.
  22.      Resetting  the hardware is messy,  and involves some  special
  23. keyboard  processor  and ROM BIOS functionalities.   The  keyboard
  24. processor  is given a command to reset the 80286.   The  ROM  BIOS
  25. needs to be able to recognize at reset time that it isn't doing  a
  26. power on reset (Power On Self Test,  or POST) and instead transfer
  27. control to the  correct real mode address.   The way that the  ROM
  28. BIOS  recognizes that it is doing a protected to real mode  switch
  29. is  via a special 'shutdown byte'.  This byte  contains  different
  30. values,  depending  upon  which  protected  to  real  mode  switch
  31. occurred. 
  32.      The ROM BIOS does not provide any support while the processor
  33. is  running  software  in protected mode,  so  switching  back  is
  34. entirely up to the operating system software.   Any implementation
  35. differences  from  the IBM AT can potentially cause ND286  not  to
  36. work.   (In  doing the reset, NetWare uses shutdown  request  type
  37. 0Ah,  which  should  cause  the ROM BIOS to do  a  JMP  DWORD  PTR
  38. 40h:67h.)
  39.      The  ROM  should not reset any hardware  (in  particular  the
  40. interrupt  controller) before doing the JMP.   The ROM may  enable
  41. interrupts during processing;  however,  enabling interrupts  will
  42. not make any difference  because NetWare will have masked off  all
  43. interrupts  at the interrupt control chip prior to requesting  the
  44. reset.   NetWare  restores  the interrupt mask  when  it  receives
  45. control back in real mode.
  46.      The  keyboard  processor,   which  is  contained  within  the
  47. keyboard  unit,  is used primarily to give keyboard scan codes  to
  48. the  resident  processor.    Other  functions  that  the  keyboard
  49. processor are used for,  on the AT,  are after thoughts.   One  of
  50. those after thoughts is the request to enable/disable address line 
  51. 20 or reset the 80286. 
  52.      The  keyboard processor in at least one clone  cannot  handle
  53. the condition when the keyboard controller wants to give the 80286
  54. another keyboard character.   Instead of the 80286 requesting  the
  55. keyboard character,  it requests an enable/disable address 20 or a
  56. reset  the 80286 command.   It seems that the  keyboard  processor
  57. microcode can only handle giving the next character once it has  a
  58. character,  not these auxiliary requests.   This problem manifests
  59. itself  if the nondedicated file server hangs when a keyboard  key
  60. becomes stuck.
  61.      The  AT keyboard processor is used to manage the  address  20
  62. enable/disable line.  The address 20 logic controls whether or not
  63. the address 20 bit coming from the 80286 is actually asserted onto
  64. the bus.  Disabling address 20 makes the 80286 wrap  segments that
  65. exist beyond 1Mb back into low memory (ala 808x emulation).   This
  66. wrapping  needs  to be enabled for the real to  protected  switch. 
  67. The keyboard processor is used to enable/disable line 20 and takes
  68. 1ms  on the IBM AT.    Whereas,  on some clones it can take up  to
  69. 50ms (or more!).
  70.      So,  there  are two areas that prevent ND286  to  operate  on
  71. clone machines.   First,  and easiest to correct,  is the  problem
  72. with a sluggish keyboard processor.  To correct this,  replace the
  73. existing keyboard with a true blue IBM keyboard.   There are  some
  74. clone keyboards that also work in place of the IBM keyboard,  but,
  75. unlike  the  IBM keyboard,  not everyone of them  works  in  every
  76. situation.   The second problem is when the BIOS in the machine is
  77. not entirely emulating an IBM AT BIOS.   Usually the culprit  here
  78. is that a Phoenix BIOS is being used.   Of late,  Phoenix seems to
  79. have the problem with their BIOS and ND286 resolved,  but only  in
  80. the  latest revisions of their BIOS.   A proven performer  is  the
  81. BIOS available from AWARD.   When a machine fails to run ND286 and
  82. the keyboard change doesn't cure it,  replacing the machine's BIOS
  83. with  an AWARD BIOS usually reconciles the problem.   However,  be
  84. aware that there are those machines that are such poor clones that
  85. they will never be able to utilize ND286.
  86.      Alas  there is one other problem which may stem from a  clone
  87. that  is  not  a  complete clone.   The  80286  must  be  isolated
  88. correctly from the main memory bus or a DMA being done to or  from
  89. a  network  board  may  become corrupted  during  an  80286  reset
  90. sequence.
  91.  
  92.